package portal.ejb;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.apache.log4j.Logger;

import portal.entities.Usuario;
import portal.vo.UsuarioVO;

/**
 * Session Bean implementation class AdministradorUsuariosBean
 */
@Stateless
public class AdministradorUsuariosBean implements AdministradorUsuarios {
	
	private static Logger logger = Logger.getLogger(AdministradorUsuariosBean.class);

	@PersistenceContext(unitName = "PortalDeComprasDB")
    EntityManager em;
	
    
    /**
     * Default constructor. 
     */
    public AdministradorUsuariosBean() {
        // TODO Auto-generated constructor stub
    }


	@Override
	public UsuarioVO autenticarUsuario(UsuarioVO usuarioVO) {		
		Query query = em.createQuery("from Usuario u where u.nombre = :nombre and u.password = :password");
		query.setParameter("nombre", usuarioVO.getNombre());
		query.setParameter("password", usuarioVO.getPassword());
		try {
			Usuario usuario = (Usuario) query.getSingleResult();	
			if(usuario != null){
				usuarioVO = usuario.getVO();
				return usuarioVO;
			}else {
				return null;
			}
			
		} catch (NoResultException e) {
			logger.warn("No se obtuvo el usuario con nombre " + usuarioVO.getNombre());
			return null;
		}
	}
    
}
